package com.hqu.environment.utils;

/**
 * @Description: 自定义异常类，用于包装所有的业务错误，可在在ExceptionCode类中定义
 * @Author: 邓勇嘉
 * @Date:2018/11/19 18:12
 * */

public class ApiException extends RuntimeException {
    private static final long serialVersionUID = 1L;


    /*
     * 错误信息
     * */
    private String errmsg;

    /*
     * 错误码默认为500
     * */
    private int errno = 500;


    public ApiException(ExceptionCode exceptionCode) {
        super(exceptionCode.getMessage());
        this.errmsg = exceptionCode.getMessage();
        this.errno = exceptionCode.getCode();
    }

    public ApiException(String errmsg) {
        super(errmsg);
        this.errmsg = errmsg;
    }

    public ApiException(String errmsg, Throwable e) {
        super(errmsg, e);
        this.errmsg = errmsg;
    }

    public ApiException(String errmsg, int errno) {
        super(errmsg);
        this.errmsg = errmsg;
        this.errno = errno;
    }

    public ApiException(String errmsg, int errno, Throwable e) {
        super(errmsg, e);
        this.errmsg = errmsg;
        this.errno = errno;
    }

    public String getErrmsg() {
        return errmsg;
    }

    public void setErrmsg(String errmsg) {
        this.errmsg = errmsg;
    }

    public int getErrno() {
        return errno;
    }

    public void setErrno(int errno) {
        this.errno = errno;
    }
}
